#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1010;
int n,m,k;
int a[N][N],cnt[N],x[N];
int dp[N][N],ans=-0x3f3f3f3f;
bool cmp(int xx,int yy){
	return xx>yy;
}
int main(){
	scanf("%d%d%d",&n,&m,&k);
	for(int i=1;i<=m;i++)
		scanf("%d",&x[i]);
	for(int i=1;i<=n;i++){
		int xx,yy;
		scanf("%d%d",&xx,&yy);
		cnt[yy]++;
		a[yy][cnt[yy]]=xx;
	}
	for(int i=1;i<=m;i++){
		sort(a[i]+1,a[i]+1+cnt[i],cmp);
	}
	memset(dp,-0x3f,sizeof(dp));
	dp[0][0]=0;
	for(int i=1;i<=m;i++){
		dp[i][0]=0;
        for(int j=0;j<=k;j++)
        {
            dp[i][j]=dp[i-1][j];
        }
		for(int j=1;j<=k;j++){
			int sum=0,f=0;
			for(int t=1;t<=j&&t<=cnt[i];t++){
				sum+=a[i][t];
				dp[i][j]=max(dp[i][j],dp[i-1][j-t]+sum-x[i]);
				if(j==k) ans=max(ans,dp[i][j]);
			}
		}
	}
	printf("%d\n",ans);
	return 0;
}

